home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / ms_dos / grass / src / get_tre.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-08  |  2.0 KB  |  101 lines

  1.  
  2. /*
  3.     コンピューターのターンのサブルーチンの宝取得のサブルーチン
  4.  
  5.         By 五味
  6. */
  7.  
  8. #include <stdio.h>
  9. #include <sub.h>
  10.  
  11.     extern int i,j,o,k[],x[],y[],bx[],by[],gold,be[],hp[];
  12.     extern char *nn[];
  13.     extern long xx,yy,zz;
  14.  
  15. struct    treasure
  16. {
  17.     char    *tname;
  18.     int    plice;
  19. };
  20.  
  21. #include "treasure.dat"        /* 宝物のデータを読み込む */
  22.  
  23. get_tre()
  24. {
  25.     if( k[i]!=-1 )
  26.         {
  27.         for( j=0 ; j<30 ; j++ )
  28.             {
  29.             xx  =bx[j]-x[i];
  30.             yy  =by[j]-y[i];
  31.             xx *=xx;
  32.             yy *=yy;
  33.             if( xx+yy<100 )
  34.                 {
  35.                 bx[j] = random(200);
  36.                 by[j] = random(200);
  37.                 if( random(2)==0 )
  38.                     {
  39.                     o = random(TREA);
  40. printf(" 第%d部隊の%sが、%sを発見したようです。\n",i+1,nn[k[i]],tre[o].tname);
  41. getch();
  42.                     if( random(101)<be[k[i]] )
  43.                         {
  44. printf(" %sは%sを売って、金貨%d枚を送ってきました。\n\n",nn[k[i]],tre[o].tname,tre[o].plice);
  45. getch();
  46.                         if( gold+tre[o].plice > gold )
  47.                             gold += tre[o].plice;
  48.                         else
  49.                             gold = 32767;
  50.                         }
  51.                     else
  52.                         {
  53.                     if( random(5) > hp[k[i]] )
  54.                             {
  55. printf(" %sは、%sを持ってどこかへ失踪しました。\n\n",nn[k[i]],tre[o].tname);
  56. getch();
  57.                             k[i] = -1;
  58.                             }
  59.                         else
  60.                             {
  61. printf(" %sは、%sを自分のふところに入れた様です。\n\n",nn[k[i]],tre[o].tname);
  62. getch();
  63.                             }
  64.                         }
  65.                     }
  66.                 else
  67.                     {
  68. printf(" 第%d部隊の%sが、敵の金倉を発見したようです。\n",i+1,nn[k[i]]);
  69. getch();
  70.                     o = random(451)+50;
  71.                     if( random(101)<be[k[i]] )
  72.                         {
  73. printf(" %sは、見つかった金貨%d枚を送ってきました。\n\n",nn[k[i]],o);
  74. getch();
  75.                         if( gold+o > gold )
  76.                             gold += o;
  77.                         else
  78.                             gold = 32767;
  79.                         }
  80.                     else
  81.                         {
  82.                     if( random(5) > hp[k[i]] )
  83.                         {
  84. printf(" %sは、見つかった金貨%d枚を持って失踪しました。\n\n",nn[k[i]],o);
  85. getch();
  86.                             k[i] = -1;
  87.                             }
  88.                         else
  89.                             {
  90. printf(" %sは、金貨%d枚を自分のふところに入れた様です。\n\n",nn[k[i]],o);
  91. getch();
  92.                             }
  93.                         }
  94.                     }
  95.                 break;    /* 宝物は一回に一個 */
  96.                 }
  97.             }
  98.         }
  99.  
  100. }
  101.